--- ./lib/preferences/feedsource.py.orig	2013-08-31 01:20:22.000000000 +0000
+++ ./lib/preferences/feedsource.py	2014-07-14 18:45:15.000000000 +0000
@@ -1,3 +1,5 @@
+import sys
+
 from gi.repository import Gtk
 
 from ..constants import Column
@@ -6,6 +8,10 @@
 from ..utils.settings import SETTINGS, SETTINGS_VIEW
 from ui import *
 
+_encoding = sys.getfilesystemencoding()
+if _encoding is None:
+    _encoding = 'utf-8'
+
 class FeedSourceDialog(DialogBase):
     """Feed Source Dialog"""
 
@@ -50,10 +56,10 @@
         v = {
             'source' : source,
             'username': username,
-            'name' : self.entry_name.get_text().decode('utf-8'),
-            'target' : target, #.decode('utf-8'),
-            'argument' : self.entry_argument.get_text().decode('utf-8'),
-            'group': self.entry_group.get_text().decode('utf-8'),
+            'name' : self.entry_name.get_text().decode(_encoding),
+            'target' : target, #.decode(_encoding),
+            'argument' : self.entry_argument.get_text().decode(_encoding),
+            'group': self.entry_group.get_text().decode(_encoding),
             'options' : 
             {'notification': checkbutton_notification.get_active()},
         }
@@ -188,8 +194,8 @@
 
     def get_active_account(self):
         account = self.widget.get_model()[self.widget.get_active()]
-        source = account[AccountColumn.SOURCE].decode('utf-8')
-        user_name = account[AccountColumn.ID].decode('utf-8')
+        source = account[AccountColumn.SOURCE].decode(_encoding)
+        user_name = account[AccountColumn.ID].decode(_encoding)
         return source, user_name
 
     def get_active_account_obj(self):
@@ -288,7 +294,7 @@
         model, treeiter = treeselection.get_selected()
 
         self.api_obj = model.get_value(treeiter, Column.API)
-        self.group = model.get_value(treeiter, Column.GROUP).decode('utf-8')
+        self.group = model.get_value(treeiter, Column.GROUP).decode(_encoding)
         self.old_page = model.get_group_page(self.group)
 
     def on_drag_end(self, treeview, dragcontext, mainwindow):
@@ -301,7 +307,7 @@
 
         is_multi_column = SETTINGS_VIEW.get_boolean('multi-column')
         all_view = [x[Column.API].view for x in model if not is_multi_column 
-                    or x[Column.GROUP].decode('utf-8') == self.group]
+                    or x[Column.GROUP].decode(_encoding) == self.group]
         all_view = sorted(set(all_view), key=all_view.index)
         page = all_view.index(self.api_obj.view)
 
